package cn.bigcontainer.alt.meta.service;

import java.util.List;
import java.util.Map;

import cn.bigcontainer.alt.meta.dto.MySqlColumn;

/**
 * @author cailei
 * @date 2017年6月2日
 */
public interface DbMetaService {
	
	/**
	 * @return
	 */
	public List<Map<String, Object>> getAllTables(String activeTable);
	
	/**
	 * @param table
	 * @return
	 */
	public List<MySqlColumn> getColumns(String table);
	
	/**
	 * @param table
	 * @return
	 */
	public void updateMObjects(String table);

	/**
	 * 创建多对一关系
	 * @param table 表
	 * @param pk 外键字段名称
	 * @param relatedTable 关联表
	 */
	public void createRelationM21(String table, String pk, String relatedTable);

	/**
	 * 创建多对多关系
	 * @param table
	 * @param relationTable
	 * @param relationKey
	 * @param relationInverseKey
	 * @param relatedTable
	 */
	public void createRelationM2M(String table, String relationTable, String relationKey, String relationInverseKey, String relatedTable);

}
